[INFO] cloning repository https://github.com/pnocera/PiCode
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pnocera/PiCode" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpnocera%2FPiCode", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpnocera%2FPiCode'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3c5178b4fb7143bc0e4fa2d9abddc618cf3e6190
[INFO] testing pnocera/PiCode against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpnocera%2FPiCode" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/pnocera/PiCode
[INFO] finished tweaking git repo https://github.com/pnocera/PiCode
[INFO] tweaked toml for git repo https://github.com/pnocera/PiCode written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/pnocera/PiCode on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/pnocera/PiCode already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 159000d75c5ba17b3bc37eb9e37a8874d6f7561e198dc9c8243a71632b389e8d
[INFO] running `Command { std: "docker" "start" "-a" "159000d75c5ba17b3bc37eb9e37a8874d6f7561e198dc9c8243a71632b389e8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "159000d75c5ba17b3bc37eb9e37a8874d6f7561e198dc9c8243a71632b389e8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "159000d75c5ba17b3bc37eb9e37a8874d6f7561e198dc9c8243a71632b389e8d", kill_on_drop: false }`
[INFO] [stdout] 159000d75c5ba17b3bc37eb9e37a8874d6f7561e198dc9c8243a71632b389e8d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 965669459a2fb659625827cc45b145c2a55bf289572e7dba5035cbf8f87666ca
[INFO] running `Command { std: "docker" "start" "-a" "965669459a2fb659625827cc45b145c2a55bf289572e7dba5035cbf8f87666ca", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling value-bag v1.11.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling slab v0.4.10
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling serde_json v1.0.141
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling event-listener v5.4.0
[INFO] [stderr]    Compiling linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling cc v1.2.30
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling anstyle-query v1.1.3
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling anstream v0.6.19
[INFO] [stderr]    Compiling futures-lite v2.6.0
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]    Compiling deranged v0.4.0
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]    Compiling clap_builder v4.5.41
[INFO] [stderr]    Compiling bstr v1.12.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling sha1_smol v1.0.1
[INFO] [stderr]    Compiling dlv-list v0.5.2
[INFO] [stderr]    Compiling piper v0.2.4
[INFO] [stderr]    Compiling async-lock v3.4.0
[INFO] [stderr]    Compiling async-channel v2.5.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling winnow v0.7.12
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling libz-sys v1.1.22
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling libgit2-sys v0.16.2+1.7.2
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling time v0.3.41
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling blocking v1.6.2
[INFO] [stderr]    Compiling matchers v0.1.0
[INFO] [stderr]    Compiling async-executor v1.13.2
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling async-channel v1.9.0
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling globset v0.4.16
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling fancy-regex v0.11.0
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling kv-log-macro v1.0.7
[INFO] [stderr]    Compiling ignore v0.4.23
[INFO] [stderr]    Compiling shell-words v1.1.0
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling fraction v0.13.1
[INFO] [stderr]    Compiling indoc v2.0.6
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling dialoguer v0.10.4
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling humantime v2.2.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling async-attributes v1.1.2
[INFO] [stderr]    Compiling stability v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.41
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling iso8601 v0.6.3
[INFO] [stderr]    Compiling tokio v1.46.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling pest v2.8.1
[INFO] [stderr]    Compiling strum v0.25.0
[INFO] [stderr]    Compiling clap v4.5.41
[INFO] [stderr]    Compiling clap_complete v4.5.55
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling pest_meta v2.8.1
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling pest_generator v2.8.1
[INFO] [stderr]    Compiling pest_derive v2.8.1
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling ron v0.8.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling json5 v0.4.1
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling ordered-multimap v0.7.3
[INFO] [stderr]    Compiling yaml-rust2 v0.8.1
[INFO] [stderr]    Compiling rust-ini v0.20.0
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling openapiv3 v2.2.0
[INFO] [stderr]    Compiling ratatui v0.25.0
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling picode-hooks v0.1.0 (/opt/rustwide/workdir/picode-hooks)
[INFO] [stderr]    Compiling git2 v0.18.3
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling config v0.14.1
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling polling v3.9.0
[INFO] [stderr]    Compiling tempfile v3.20.0
[INFO] [stderr]    Compiling async-io v2.5.0
[INFO] [stderr]    Compiling async-global-executor v2.4.1
[INFO] [stderr]    Compiling async-std v1.13.1
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling picode-core v0.1.0 (/opt/rustwide/workdir/picode-core)
[INFO] [stdout] warning: unused import: `CoreError`
[INFO] [stdout]  --> picode-core/src/traits.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::{CoreError, Result};
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> picode-core/src/workspace.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut ignore_patterns = vec![
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ignore_patterns`
[INFO] [stdout]    --> picode-core/src/workspace.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let ignore_patterns = GitignoreBuilder::new(&self.config.root_path)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ignore_patterns`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> picode-core/src/traits.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     async fn save(&self) -> Result<()>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 12 -     async fn save(&self) -> Result<()>;
[INFO] [stdout] 12 +     fn save(&self) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> picode-core/src/traits.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn load(&mut self) -> Result<()>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 15 -     async fn load(&mut self) -> Result<()>;
[INFO] [stdout] 15 +     fn load(&mut self) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> picode-core/src/traits.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     async fn exists(&self) -> bool;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 18 -     async fn exists(&self) -> bool;
[INFO] [stdout] 18 +     fn exists(&self) -> impl std::future::Future<Output = bool> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> picode-core/src/traits.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     async fn delete(&self) -> Result<()>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 21 -     async fn delete(&self) -> Result<()>;
[INFO] [stdout] 21 +     fn delete(&self) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling picode-cli v0.1.0 (/opt/rustwide/workdir/picode-cli)
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling jsonschema v0.17.1
[INFO] [stderr]    Compiling picode-llm v0.1.0 (/opt/rustwide/workdir/picode-llm)
[INFO] [stdout] warning: unused import: `Response`
[INFO] [stdout]  --> picode-llm/src/client.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use reqwest::{Client, Response};
[INFO] [stdout]   |                       ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LlmResponse` and `RequestConfig`
[INFO] [stdout]  --> picode-llm/src/providers.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::client::{LlmClient, LlmResponse, RequestConfig};
[INFO] [stdout]   |                                ^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `api_key` and `name` are never read
[INFO] [stdout]    --> picode-llm/src/providers.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct GenericProvider {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 145 |     api_key: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 146 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GenericProvider` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling picode v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `metadata::LevelFilter`
[INFO] [stdout]  --> src/logging.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tracing::{Level, metadata::LevelFilter};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Format`, `Full`, `layer::SubscriberExt`, and `util::SubscriberInitExt`
[INFO] [stdout]  --> src/logging.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     layer::SubscriberExt,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     util::SubscriberInitExt,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     fmt::format::{Format, Full},
[INFO] [stdout]   |                   ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/config.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |         let mut config = Config::load_default().await.map_err(crate::error::PiCodeError::ConfigLocal)?;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 33s
[INFO] running `Command { std: "docker" "inspect" "965669459a2fb659625827cc45b145c2a55bf289572e7dba5035cbf8f87666ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "965669459a2fb659625827cc45b145c2a55bf289572e7dba5035cbf8f87666ca", kill_on_drop: false }`
[INFO] [stdout] 965669459a2fb659625827cc45b145c2a55bf289572e7dba5035cbf8f87666ca
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a958d6b052533aefb7e73e32c2d2a6ff40ea85c285afe80f1b0738a9dbf5f51c
[INFO] running `Command { std: "docker" "start" "-a" "a958d6b052533aefb7e73e32c2d2a6ff40ea85c285afe80f1b0738a9dbf5f51c", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling tokio v1.46.1
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling doc-comment v0.3.3
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling waker-fn v1.2.0
[INFO] [stderr]    Compiling http-types v2.12.0
[INFO] [stderr]    Compiling serde_qs v0.8.5
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling assert_cmd v2.0.17
[INFO] [stderr]    Compiling retain_mut v0.1.9
[INFO] [stderr]    Compiling infer v0.2.3
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling git2 v0.18.3
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling bstr v1.12.0
[INFO] [stderr]    Compiling globset v0.4.16
[INFO] [stderr]    Compiling fancy-regex v0.11.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling predicates v3.1.3
[INFO] [stderr]    Compiling ignore v0.4.23
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling picode-core v0.1.0 (/opt/rustwide/workdir/picode-core)
[INFO] [stderr]    Compiling picode-hooks v0.1.0 (/opt/rustwide/workdir/picode-hooks)
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling deadpool v0.9.5
[INFO] [stdout] warning: unused import: `CoreError`
[INFO] [stdout]  --> picode-core/src/traits.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::{CoreError, Result};
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> picode-core/src/workspace.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut ignore_patterns = vec![
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ignore_patterns`
[INFO] [stdout]    --> picode-core/src/workspace.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let ignore_patterns = GitignoreBuilder::new(&self.config.root_path)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ignore_patterns`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> picode-core/src/traits.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     async fn save(&self) -> Result<()>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 12 -     async fn save(&self) -> Result<()>;
[INFO] [stdout] 12 +     fn save(&self) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> picode-core/src/traits.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn load(&mut self) -> Result<()>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 15 -     async fn load(&mut self) -> Result<()>;
[INFO] [stdout] 15 +     fn load(&mut self) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> picode-core/src/traits.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     async fn exists(&self) -> bool;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 18 -     async fn exists(&self) -> bool;
[INFO] [stdout] 18 +     fn exists(&self) -> impl std::future::Future<Output = bool> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> picode-core/src/traits.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     async fn delete(&self) -> Result<()>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 21 -     async fn delete(&self) -> Result<()>;
[INFO] [stdout] 21 +     fn delete(&self) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling picode-cli v0.1.0 (/opt/rustwide/workdir/picode-cli)
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling wiremock v0.5.22
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling jsonschema v0.17.1
[INFO] [stderr]    Compiling picode-llm v0.1.0 (/opt/rustwide/workdir/picode-llm)
[INFO] [stdout] warning: unused import: `Response`
[INFO] [stdout]  --> picode-llm/src/client.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use reqwest::{Client, Response};
[INFO] [stdout]   |                       ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LlmResponse` and `RequestConfig`
[INFO] [stdout]  --> picode-llm/src/providers.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::client::{LlmClient, LlmResponse, RequestConfig};
[INFO] [stdout]   |                                ^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `api_key` and `name` are never read
[INFO] [stdout]    --> picode-llm/src/providers.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct GenericProvider {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 145 |     api_key: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 146 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GenericProvider` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling picode v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `metadata::LevelFilter`
[INFO] [stdout]  --> src/logging.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tracing::{Level, metadata::LevelFilter};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Format`, `Full`, `layer::SubscriberExt`, and `util::SubscriberInitExt`
[INFO] [stdout]  --> src/logging.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     layer::SubscriberExt,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     util::SubscriberInitExt,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     fmt::format::{Format, Full},
[INFO] [stdout]   |                   ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/config.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |         let mut config = Config::load_default().await.map_err(crate::error::PiCodeError::ConfigLocal)?;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `core_tests`
[INFO] [stdout]  --> tests/unit/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod core_tests;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `core_tests`, create file "tests/unit/core_tests.rs" or "tests/unit/core_tests/mod.rs"
[INFO] [stdout]   = note: if there is a `mod core_tests` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `config_tests`
[INFO] [stdout]  --> tests/unit/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod config_tests;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `config_tests`, create file "tests/unit/config_tests.rs" or "tests/unit/config_tests/mod.rs"
[INFO] [stdout]   = note: if there is a `mod config_tests` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `llm_tests`
[INFO] [stdout]  --> tests/unit/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod llm_tests;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `llm_tests`, create file "tests/unit/llm_tests.rs" or "tests/unit/llm_tests/mod.rs"
[INFO] [stdout]   = note: if there is a `mod llm_tests` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `cli_tests`
[INFO] [stdout]  --> tests/unit/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod cli_tests;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `cli_tests`, create file "tests/unit/cli_tests.rs" or "tests/unit/cli_tests/mod.rs"
[INFO] [stdout]   = note: if there is a `mod cli_tests` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `hooks_tests`
[INFO] [stdout]  --> tests/unit/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod hooks_tests;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `hooks_tests`, create file "tests/unit/hooks_tests.rs" or "tests/unit/hooks_tests/mod.rs"
[INFO] [stdout]   = note: if there is a `mod hooks_tests` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `llm_integration`
[INFO] [stdout]  --> tests/integration/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod llm_integration;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `llm_integration`, create file "tests/integration/llm_integration.rs" or "tests/integration/llm_integration/mod.rs"
[INFO] [stdout]   = note: if there is a `mod llm_integration` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `workspace_integration`
[INFO] [stdout]  --> tests/integration/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod workspace_integration;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `workspace_integration`, create file "tests/integration/workspace_integration.rs" or "tests/integration/workspace_integration/mod.rs"
[INFO] [stdout]   = note: if there is a `mod workspace_integration` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `hooks_integration`
[INFO] [stdout]  --> tests/integration/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod hooks_integration;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `hooks_integration`, create file "tests/integration/hooks_integration.rs" or "tests/integration/hooks_integration/mod.rs"
[INFO] [stdout]   = note: if there is a `mod hooks_integration` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `cli_e2e`
[INFO] [stdout]  --> tests/e2e/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod cli_e2e;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `cli_e2e`, create file "tests/e2e/cli_e2e.rs" or "tests/e2e/cli_e2e/mod.rs"
[INFO] [stdout]   = note: if there is a `mod cli_e2e` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `interactive_e2e`
[INFO] [stdout]  --> tests/e2e/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod interactive_e2e;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `interactive_e2e`, create file "tests/e2e/interactive_e2e.rs" or "tests/e2e/interactive_e2e/mod.rs"
[INFO] [stdout]   = note: if there is a `mod interactive_e2e` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `config_e2e`
[INFO] [stdout]  --> tests/e2e/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod config_e2e;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `config_e2e`, create file "tests/e2e/config_e2e.rs" or "tests/e2e/config_e2e/mod.rs"
[INFO] [stdout]   = note: if there is a `mod config_e2e` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `memory_benchmarks`
[INFO] [stdout]  --> tests/performance/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod memory_benchmarks;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `memory_benchmarks`, create file "tests/performance/memory_benchmarks.rs" or "tests/performance/memory_benchmarks/mod.rs"
[INFO] [stdout]   = note: if there is a `mod memory_benchmarks` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `llm_benchmarks`
[INFO] [stdout]  --> tests/performance/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod llm_benchmarks;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `llm_benchmarks`, create file "tests/performance/llm_benchmarks.rs" or "tests/performance/llm_benchmarks/mod.rs"
[INFO] [stdout]   = note: if there is a `mod llm_benchmarks` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `workspace_benchmarks`
[INFO] [stdout]  --> tests/performance/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod workspace_benchmarks;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `workspace_benchmarks`, create file "tests/performance/workspace_benchmarks.rs" or "tests/performance/workspace_benchmarks/mod.rs"
[INFO] [stdout]   = note: if there is a `mod workspace_benchmarks` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `llm_security`
[INFO] [stdout]  --> tests/security/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod llm_security;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `llm_security`, create file "tests/security/llm_security.rs" or "tests/security/llm_security/mod.rs"
[INFO] [stdout]   = note: if there is a `mod llm_security` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `command_security`
[INFO] [stdout]  --> tests/security/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod command_security;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `command_security`, create file "tests/security/command_security.rs" or "tests/security/command_security/mod.rs"
[INFO] [stdout]   = note: if there is a `mod command_security` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `config_security`
[INFO] [stdout]  --> tests/security/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod config_security;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `config_security`, create file "tests/security/config_security.rs" or "tests/security/config_security/mod.rs"
[INFO] [stdout]   = note: if there is a `mod config_security` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `metadata::LevelFilter`
[INFO] [stdout]  --> src/logging.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tracing::{Level, metadata::LevelFilter};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Format`, `Full`, `layer::SubscriberExt`, and `util::SubscriberInitExt`
[INFO] [stdout]  --> src/logging.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     layer::SubscriberExt,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     util::SubscriberInitExt,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     fmt::format::{Format, Full},
[INFO] [stdout]   |                   ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::tests::TestContext`, `crate::tests::unit`, `crate::tests::integration`, `crate::tests::e2e`, `crate::tests::performance`, `crate::tests::security`
[INFO] [stdout]  --> tests/test_runner.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::tests::{TestContext, unit, integration, e2e, performance, security};
[INFO] [stdout]   |                    ^^^^^^^^^^^  ^^^^  ^^^^^^^^^^^  ^^^  ^^^^^^^^^^^  ^^^^^^^^ no `security` in `tests`
[INFO] [stdout]   |                    |            |     |            |    |
[INFO] [stdout]   |                    |            |     |            |    no `performance` in `tests`
[INFO] [stdout]   |                    |            |     |            no `e2e` in `tests`
[INFO] [stdout]   |                    |            |     no `integration` in `tests`
[INFO] [stdout]   |                    |            no `unit` in `tests`
[INFO] [stdout]   |                    no `TestContext` in `tests`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::tests`
[INFO] [stdout]  --> tests/test_runner.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::tests::{TestContext, unit, integration, e2e, performance, security};
[INFO] [stdout]   |            ^^^^^ unresolved import
[INFO] [stdout]   |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::e2e::tests::{TestContext, unit, integration, e2e, performance, security};
[INFO] [stdout]   |            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `picode::Result`
[INFO] [stdout]   --> tests/unit/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use picode::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MockLLMProvider`
[INFO] [stdout]  --> tests/integration/mod.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::{TestContext, MockLLMProvider};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `picode::Result`
[INFO] [stdout]  --> tests/integration/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use picode::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Command as StdCommand`
[INFO] [stdout]   --> tests/e2e/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::process::Command as StdCommand;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/config.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |         let mut config = Config::load_default().await.map_err(crate::error::PiCodeError::ConfigLocal)?;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> tests/test_runner.rs:216:28
[INFO] [stdout]     |
[INFO] [stdout] 216 |             let _session = Session::new(session_id, "perf-test".to_string());
[INFO] [stdout]     |                            ^^^^^^^^^^^^ ----------  ----------------------- argument #2 of type `PathBuf` is missing
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         unexpected argument #1 of type `picode::picode_core::SessionId`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> picode-core/src/session.rs:48:12
[INFO] [stdout]     |
[INFO] [stdout]  48 |     pub fn new(name: String, workspace_path: PathBuf) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: did you mean
[INFO] [stdout]     |
[INFO] [stdout] 216 -             let _session = Session::new(session_id, "perf-test".to_string());
[INFO] [stdout] 216 +             let _session = Session::new("perf-test".to_string(), /* PathBuf */);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]   --> tests/unit/mod.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let session = Session::new(session_id.clone(), "test-session".to_string());
[INFO] [stdout]    |                       ^^^^^^^^^^^^ ------------------  -------------------------- argument #2 of type `PathBuf` is missing
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    unexpected argument #1 of type `picode::picode_core::SessionId`
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> picode-core/src/session.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn new(name: String, workspace_path: PathBuf) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] help: did you mean
[INFO] [stdout]    |
[INFO] [stdout] 24 -         let session = Session::new(session_id.clone(), "test-session".to_string());
[INFO] [stdout] 24 +         let session = Session::new("test-session".to_string(), /* PathBuf */);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> tests/test_runner.rs:216:28
[INFO] [stdout]     |
[INFO] [stdout] 216 |             let _session = Session::new(session_id, "perf-test".to_string());
[INFO] [stdout]     |                            ^^^^^^^^^^^^ ----------  ----------------------- argument #2 of type `PathBuf` is missing
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         unexpected argument #1 of type `picode::picode_core::SessionId`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> picode-core/src/session.rs:48:12
[INFO] [stdout]     |
[INFO] [stdout]  48 |     pub fn new(name: String, workspace_path: PathBuf) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: did you mean
[INFO] [stdout]     |
[INFO] [stdout] 216 -             let _session = Session::new(session_id, "perf-test".to_string());
[INFO] [stdout] 216 +             let _session = Session::new("perf-test".to_string(), /* PathBuf */);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `id` found for struct `picode::picode_core::Session` in the current scope
[INFO] [stdout]   --> tests/unit/mod.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 |         assert_eq!(session.id(), &session_id);
[INFO] [stdout]    |                            ^^-- help: remove the arguments
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `picode` (test "test_runner") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0599]: no method named `name` found for struct `picode::picode_core::Session` in the current scope
[INFO] [stdout]   --> tests/unit/mod.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |         assert_eq!(session.name(), "test-session");
[INFO] [stdout]    |                            ^^^^-- help: remove the arguments
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `picode::picode_core::WorkspaceConfig` has no field named `layout`
[INFO] [stdout]   --> tests/unit/mod.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             layout: "default".to_string(),
[INFO] [stdout]    |             ^^^^^^ `picode::picode_core::WorkspaceConfig` does not have this field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `ignore_patterns`, `file_associations`, `git_enabled`, `auto_save`, `backup_enabled`, `metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `expect` found for struct `picode::picode_core::Workspace` in the current scope
[INFO] [stdout]   --> tests/unit/mod.rs:40:58
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let workspace = Workspace::new(workspace_config).expect("Failed to create workspace");
[INFO] [stdout]    |                                                          ^^^^^^ method not found in `picode::picode_core::Workspace`
[INFO] [stdout]    |
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let workspace = Workspace::new(workspace_config).git_status.expect("Failed to create workspace");
[INFO] [stdout]    |                                                          +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `picode::picode_core::Pane` in the current scope
[INFO] [stdout]    --> tests/unit/mod.rs:47:26
[INFO] [stdout]     |
[INFO] [stdout]  47 |         let pane = Pane::new(pane_id.clone(), PaneType::Terminal);
[INFO] [stdout]     |                          ^^^ function or associated item not found in `picode::picode_core::Pane`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `picode::picode_core::Pane` consider using one of the following associated functions:
[INFO] [stdout]       picode::picode_core::Pane::new_terminal
[INFO] [stdout]       picode::picode_core::Pane::new_llm_chat
[INFO] [stdout]       picode::picode_core::Pane::new_editor
[INFO] [stdout]       picode::picode_core::Pane::new_output
[INFO] [stdout]    --> picode-core/src/pane.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn new_terminal(shell: String, working_dir: PathBuf, title: String) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn new_llm_chat(provider: String, model: String, title: String) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn new_editor(file_path: PathBuf, title: String) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn new_output(content_type: String, title: String) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0533]: expected value, found struct variant `PaneType::Terminal`
[INFO] [stdout]   --> tests/unit/mod.rs:47:47
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let pane = Pane::new(pane_id.clone(), PaneType::Terminal);
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^ not a value
[INFO] [stdout]    |
[INFO] [stdout] help: you might have meant to create a new value of the struct
[INFO] [stdout]    |
[INFO] [stdout] 47 -         let pane = Pane::new(pane_id.clone(), PaneType::Terminal);
[INFO] [stdout] 47 +         let pane = Pane::new(pane_id.clone(), PaneType::Terminal { shell: /* value */, working_dir: /* value */ };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0533]: expected value, found struct variant `PaneType::Terminal`
[INFO] [stdout]   --> tests/unit/mod.rs:50:39
[INFO] [stdout]    |
[INFO] [stdout] 50 |         assert_eq!(pane.pane_type(), &PaneType::Terminal);
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^ not a value
[INFO] [stdout]    |
[INFO] [stdout] help: you might have meant to create a new value of the struct
[INFO] [stdout]    |
[INFO] [stdout] 50 |         assert_eq!(pane.pane_type(), &PaneType::Terminal { shell: /* value */, working_dir: /* value */ });
[INFO] [stdout]    |                                                          ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `picode::picode_core::CommandBuilder` in the current scope
[INFO] [stdout]   --> tests/unit/mod.rs:55:39
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let command = CommandBuilder::new("echo")
[INFO] [stdout]    |                                       ^^^ function or associated item not found in `picode::picode_core::CommandBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `new` found for enum `picode::picode_core::Event` in the current scope
[INFO] [stdout]   --> tests/unit/mod.rs:66:28
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let event = Event::new(event_id.clone(), "test-event".to_string());
[INFO] [stdout]    |                            ^^^ variant or associated item not found in `picode::picode_core::Event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]   --> tests/integration/mod.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let session = Session::new(session_id.clone(), ctx.session_id.clone());
[INFO] [stdout]    |                       ^^^^^^^^^^^^ ------------------  ---------------------- argument #2 of type `PathBuf` is missing
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    unexpected argument #1 of type `picode::picode_core::SessionId`
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> picode-core/src/session.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn new(name: String, workspace_path: PathBuf) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] help: did you mean
[INFO] [stdout]    |
[INFO] [stdout] 32 -         let session = Session::new(session_id.clone(), ctx.session_id.clone());
[INFO] [stdout] 32 +         let session = Session::new(ctx.session_id.clone(), /* PathBuf */);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `picode::picode_core::WorkspaceConfig` has no field named `layout`
[INFO] [stdout]   --> tests/integration/mod.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             layout: "default".to_string(),
[INFO] [stdout]    |             ^^^^^^ `picode::picode_core::WorkspaceConfig` does not have this field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `ignore_patterns`, `file_associations`, `git_enabled`, `auto_save`, `backup_enabled`, `metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `expect` found for struct `picode::picode_core::Workspace` in the current scope
[INFO] [stdout]   --> tests/integration/mod.rs:40:58
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let workspace = Workspace::new(workspace_config).expect("Failed to create workspace");
[INFO] [stdout]    |                                                          ^^^^^^ method not found in `picode::picode_core::Workspace`
[INFO] [stdout]    |
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let workspace = Workspace::new(workspace_config).git_status.expect("Failed to create workspace");
[INFO] [stdout]    |                                                          +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `id` found for struct `picode::picode_core::Session` in the current scope
[INFO] [stdout]   --> tests/integration/mod.rs:43:28
[INFO] [stdout]    |
[INFO] [stdout] 43 |         assert_eq!(session.id(), &session_id);
[INFO] [stdout]    |                            ^^-- help: remove the arguments
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            field, not a method
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `picode::picode_core::Pane` in the current scope
[INFO] [stdout]    --> tests/integration/mod.rs:50:26
[INFO] [stdout]     |
[INFO] [stdout]  50 |         let pane = Pane::new(pane_id.clone(), PaneType::Terminal);
[INFO] [stdout]     |                          ^^^ function or associated item not found in `picode::picode_core::Pane`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `picode::picode_core::Pane` consider using one of the following associated functions:
[INFO] [stdout]       picode::picode_core::Pane::new_terminal
[INFO] [stdout]       picode::picode_core::Pane::new_llm_chat
[INFO] [stdout]       picode::picode_core::Pane::new_editor
[INFO] [stdout]       picode::picode_core::Pane::new_output
[INFO] [stdout]    --> picode-core/src/pane.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn new_terminal(shell: String, working_dir: PathBuf, title: String) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn new_llm_chat(provider: String, model: String, title: String) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn new_editor(file_path: PathBuf, title: String) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn new_output(content_type: String, title: String) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0533]: expected value, found struct variant `PaneType::Terminal`
[INFO] [stdout]   --> tests/integration/mod.rs:50:47
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let pane = Pane::new(pane_id.clone(), PaneType::Terminal);
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^ not a value
[INFO] [stdout]    |
[INFO] [stdout] help: you might have meant to create a new value of the struct
[INFO] [stdout]    |
[INFO] [stdout] 50 -         let pane = Pane::new(pane_id.clone(), PaneType::Terminal);
[INFO] [stdout] 50 +         let pane = Pane::new(pane_id.clone(), PaneType::Terminal { shell: /* value */, working_dir: /* value */ };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `picode::picode_core::CommandBuilder` in the current scope
[INFO] [stdout]   --> tests/integration/mod.rs:52:39
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let command = CommandBuilder::new("echo")
[INFO] [stdout]    |                                       ^^^ function or associated item not found in `picode::picode_core::CommandBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `new` found for enum `picode::picode_core::Event` in the current scope
[INFO] [stdout]   --> tests/integration/mod.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let event = Event::new(event_id.clone(), "integration-test".to_string());
[INFO] [stdout]    |                            ^^^ variant or associated item not found in `picode::picode_core::Event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> tests/performance/mod.rs:131:28
[INFO] [stdout]     |
[INFO] [stdout] 131 |             let _session = Session::new(session_id, "perf-test".to_string());
[INFO] [stdout]     |                            ^^^^^^^^^^^^ ----------  ----------------------- argument #2 of type `PathBuf` is missing
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         unexpected argument #1 of type `picode::picode_core::SessionId`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> picode-core/src/session.rs:48:12
[INFO] [stdout]     |
[INFO] [stdout]  48 |     pub fn new(name: String, workspace_path: PathBuf) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: did you mean
[INFO] [stdout]     |
[INFO] [stdout] 131 -             let _session = Session::new(session_id, "perf-test".to_string());
[INFO] [stdout] 131 +             let _session = Session::new("perf-test".to_string(), /* PathBuf */);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `picode::picode_core::Pane` in the current scope
[INFO] [stdout]    --> tests/performance/mod.rs:148:31
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let _pane = Pane::new(pane_id, PaneType::Terminal);
[INFO] [stdout]     |                               ^^^ function or associated item not found in `picode::picode_core::Pane`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `picode::picode_core::Pane` consider using one of the following associated functions:
[INFO] [stdout]       picode::picode_core::Pane::new_terminal
[INFO] [stdout]       picode::picode_core::Pane::new_llm_chat
[INFO] [stdout]       picode::picode_core::Pane::new_editor
[INFO] [stdout]       picode::picode_core::Pane::new_output
[INFO] [stdout]    --> picode-core/src/pane.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn new_terminal(shell: String, working_dir: PathBuf, title: String) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn new_llm_chat(provider: String, model: String, title: String) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn new_editor(file_path: PathBuf, title: String) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn new_output(content_type: String, title: String) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0533]: expected value, found struct variant `PaneType::Terminal`
[INFO] [stdout]    --> tests/performance/mod.rs:148:44
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let _pane = Pane::new(pane_id, PaneType::Terminal);
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^ not a value
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to create a new value of the struct
[INFO] [stdout]     |
[INFO] [stdout] 148 -             let _pane = Pane::new(pane_id, PaneType::Terminal);
[INFO] [stdout] 148 +             let _pane = Pane::new(pane_id, PaneType::Terminal { shell: /* value */, working_dir: /* value */ };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `picode::picode_core::CommandBuilder` in the current scope
[INFO] [stdout]    --> tests/performance/mod.rs:164:44
[INFO] [stdout]     |
[INFO] [stdout] 164 |             let _command = CommandBuilder::new("echo")
[INFO] [stdout]     |                                            ^^^ function or associated item not found in `picode::picode_core::CommandBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `picode::picode_core::WorkspaceConfig` has no field named `layout`
[INFO] [stdout]    --> tests/performance/mod.rs:186:17
[INFO] [stdout]     |
[INFO] [stdout] 186 |                 layout: "default".to_string(),
[INFO] [stdout]     |                 ^^^^^^ `picode::picode_core::WorkspaceConfig` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `ignore_patterns`, `file_associations`, `git_enabled`, `auto_save`, `backup_enabled`, `metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `picode::picode_core::CommandBuilder` in the current scope
[INFO] [stdout]    --> tests/security/mod.rs:211:39
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let command = CommandBuilder::new("echo")
[INFO] [stdout]     |                                       ^^^ function or associated item not found in `picode::picode_core::CommandBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0432, E0533, E0560, E0583, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `picode` (test "mod") due to 43 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "a958d6b052533aefb7e73e32c2d2a6ff40ea85c285afe80f1b0738a9dbf5f51c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a958d6b052533aefb7e73e32c2d2a6ff40ea85c285afe80f1b0738a9dbf5f51c", kill_on_drop: false }`
[INFO] [stdout] a958d6b052533aefb7e73e32c2d2a6ff40ea85c285afe80f1b0738a9dbf5f51c
